/**
 * 版权所有 (C), 2019-2019, XXX有限公司
 * 项目名：com.company.study.designpatterns.adapter.object
 * 文件名: Adapter
 * 日期: 2019/6/15 15:54
 * 说明:
 */
package com.company.study.designpatterns.adapter.object;

import com.company.study.designpatterns.adapter.clazz.Adaptee;
import com.company.study.designpatterns.adapter.clazz.Target;

/**
 * 适配器
 *
 * @author Anbang713
 * @create 2019/6/15
 */
public class Adapter implements Target {

    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    /**
     * 源类 Adaptee 有方法 sampleOperation1，因此适配器类直接委派即可
     */
    @Override
    public void sampleOperation1() {
        adaptee.sampleOperation1();
    }

    /**
     * 源类 Adaptee 没有方法 sampleOperation2，因此由适配器类需要补充此方法
     */
    @Override
    public void sampleOperation2() {
        //do something
    }
}